/*******************************************************************
 * Created Mon Dec 26 08:56:12 2011 by Tuxedo V8.0-01 (C++ Bindings)
 *******************************************************************
 */

/*
 * Skeleton functions: (ppm_s.cpp)
 * ------------------------------------------------------------
 *
 * This module contains the skeleton functions for the following
 * Implementations:
 *
 *    IPpm_i
 *    PpmFactory_i
 *
 */

#include "orbminor.h"
#include "ppm_s.h"

// Server registration data and class function
OBB::OBBInterfaceInfo POA_Ppm_IPpm_info[1] = 
{
{(char*)"IDL:Ppm/IPpm:1.0", (char*)"IDL:POA_Ppm/IPpm_i:1.0", 1, 3}
};
static OBB::OBBInterfaceDescriptor POA_Ppm_IPpm_Interfaces (POA_Ppm_IPpm_info, 1);


//
//
// Function Name:	Ppm::IPpm::_this
//
// Functional Description:
//
//	This is the _this function of the POA skeleton.
//
//

Ppm::IPpm_ptr
POA_Ppm::IPpm::_this()
{
    ::CORBA::Object_ptr obj_ptr = OBB__this();
    Ppm::IPpm_ptr ret_ptr = Ppm::IPpm::_narrow(obj_ptr);

    ::CORBA::release(obj_ptr);
    return ret_ptr;
}


//
//
// Function Name:	POA_Ppm::IPpm::invoke
//
// Functional Description:
//
//	This is the invoke function of the POA skeleton.
//
//

void
POA_Ppm::IPpm::invoke (
        ::CORBA::ServerRequest_ptr _nasreq) 
{
static const struct {
	CORBA::Char    Bucket0 [31];	CORBA::Char    Bucket1 [25];
	CORBA::Char    Bucket2 [15];	CORBA::Char    Bucket3 [49];
	CORBA::Char    Bucket4 [15];	CORBA::Char    Bucket5 [16];
	CORBA::Char    Bucket6 [18];	CORBA::Char    Bucket7 [24];
	CORBA::Char    Bucket8 [34];	CORBA::Char    Bucket9 [56];
	CORBA::Char    Bucket10 [17];	CORBA::Char    Bucket11 [21];
	CORBA::Char    Bucket12 [17];	CORBA::Char    Bucket13 [20];
	CORBA::Char    Bucket14 [61];	CORBA::Char    Bucket15 [41];
	CORBA::Char    Bucket16 [14];	CORBA::Char    Bucket17 [15];
	CORBA::Char    Bucket18 [42];	CORBA::Char    Bucket19 [17];
	CORBA::Char    Bucket20 [41];	CORBA::Char    Bucket21 [34];
	CORBA::Char    Bucket22 [56];	CORBA::Char    Bucket23 [20];
	CORBA::Char    Bucket24 [37];	CORBA::Char    Bucket25 [56];
	CORBA::Char    Bucket26 [19];	CORBA::Char    Bucket27 [22];
	CORBA::Char    Bucket28 [42];	CORBA::Char    Bucket29 [12];
	CORBA::Char    Bucket30 [24];	CORBA::Char    Bucket31 [30];
	CORBA::Char    Bucket32 [11];	CORBA::Char    Bucket33 [40];
	CORBA::Char    Bucket34 [29];	CORBA::Char    Bucket35 [19];
	CORBA::Char    Bucket36 [33];	CORBA::Char    Bucket37 [70];
	CORBA::Char    Bucket38 [54];	CORBA::Char    Bucket39 [22];
	CORBA::Char    Bucket40 [22];	CORBA::Char    Bucket41 [25];
	CORBA::Char    Bucket42 [42];	CORBA::Char    Bucket43 [38];
	CORBA::Char    Bucket44 [25];	CORBA::Char    Bucket45 [22];
	CORBA::Char    Bucket46 [27];	CORBA::Char    Bucket47 [65];
    } _BT = {
        "queryPpmPriceDescItemSpecTree\000",
        "queryAppAndTestTraining\000",
        "queryTeamInfo\000",
        "queryTaskInfoForOA\000userAndIncomeThresholdConfig\000",
        "createProcOrd\000",
        "queryPPMGHRole\000",
        "saveLargeContent\000",
        "saveApplicationInfo_FJ\000",
        "getPpmKmwsInfo\000saveBasicAttrTree\000",
        "getSpName\000queryAppCompareResult\000queryTemplateBasicInfo\000",
        "modifyTaskLevel\000",
        "Statistics\000VAProdSV\000",
        "operaterLogInfo\000",
        "operateCfgRelation\000",
        "GroupProdOfferReleaseSV\000saveApplicationCatalog\000singleSignOn\000",
        "createApplicationCode\000getPpmPriceRemark\000",
        "queryProcOrd\000",
        "queryTempSpec\000",
        "buildPPMDepartment\000operateFlowTimeRecord\000",
        "operatePPMOrder\000",
        "queryPPMDepartment\000queryStaffPermission\000",
        "getPriceInfo\000queryAppVersionList\000",
        "queryBasicAttrTree\000querySysCfgTree\000saveAccessoriesRela\000",
        "_is_a\000queryLogInfo\000",
        "queryCatalogPermission\000saveAttrSpec\000",
        "queryOperatorByCatalogId\000queryTaskBySimilitudeAndMutex\000",
        "savePriceTemplate\000",
        "ProdConfigCompleteSV\000",
        "filterApplicationInfo\000queryPriceTemplate\000",
        "createTask\000",
        "operateStaffPermission\000",
        "ProdOfferloadCompleteSVFORJT\000",
        "getSPInfo\000",
        "queryInterfaceInfo\000saveApplicationInfo\000",
        "querySimilitudeAndMutexTree\000",
        "queryLargeContent\000",
        "GroupProdReleaseSV\000saveTempSpec\000",
        "buildPPMGHRole\000pubSendInterFace\000queryMasterCode\000queryThresholdConfig\000",
        "operateCatalogPermission\000operateDir\000queryCfgRelation\000",
        "queryAccessoriesRela\000",
        "operateInterSendInfo\000",
        "queryApplicationCatalog\000",
        "queryFlowInfo\000queryMktResource\000queryTask\000",
        "queryAttrSpec\000queryPPMOrderOperation\000",
        "ProdloadCompleteSVFORJT\000",
        "queryApplicationInfo\000",
        "VAProdOfferSV\000querySPInfo\000",
        "queryContactAppListByAppCode\000queryFlowTimeRecord\000queryPricePlan\000"
    };
static  OBBHashTableEntry     _HT [78] = {
    {  -1, 65535 },    {  -1, 65535 },    {  -1, 65535 },    {  -1, 65535 },
    {  -1, 65535 },    {   0,     0 },    {   1,    31 },    {   2,    56 },
    {   3,    71 },    {   5,   120 },    {  -1, 65535 },    {   6,   135 },
    {   7,   151 },    {   8,   169 },    {   9,   193 },    {  11,   227 },
    {  14,   283 },    {  -1, 65535 },    {  15,   300 },    {  17,   321 },
    {  18,   338 },    {  19,   358 },    {  22,   419 },    {  24,   460 },
    {  -1, 65535 },    {  -1, 65535 },    {  25,   474 },    {  -1, 65535 },
    {  26,   489 },    {  -1, 65535 },    {  28,   531 },    {  -1, 65535 },
    {  -1, 65535 },    {  -1, 65535 },    {  29,   548 },    {  31,   589 },
    {  -1, 65535 },    {  33,   623 },    {  36,   679 },    {  38,   699 },
    {  40,   736 },    {  42,   792 },    {  -1, 65535 },    {  43,   811 },
    {  -1, 65535 },    {  -1, 65535 },    {  -1, 65535 },    {  -1, 65535 },
    {  44,   833 },    {  46,   875 },    {  -1, 65535 },    {  47,   887 },
    {  48,   911 },    {  49,   941 },    {  50,   952 },    {  52,   992 },
    {  -1, 65535 },    {  -1, 65535 },    {  53,  1021 },    {  54,  1040 },
    {  -1, 65535 },    {  56,  1073 },    {  60,  1143 },    {  -1, 65535 },
    {  -1, 65535 },    {  63,  1197 },    {  64,  1219 },    {  65,  1241 },
    {  66,  1266 },    {  69,  1308 },    {  -1, 65535 },    {  -1, 65535 },
    {  -1, 65535 },    {  -1, 65535 },    {  71,  1346 },    {  72,  1371 },
    {  73,  1393 },    {  75,  1420 }
    };
static ::CORBA::UShort _OM[78] = {
	25,46,56,41,47,10,39,71,61,74,0,63,40,45,34,
	50,65,33,17,68,4,55,15,26,11,3,36,30,12,37,
	23,73,24,1,19,57,77,32,21,43,28,29,59,64,48,
	60,8,22,76,62,52,6,27,72,67,2,38,69,70,49,
	20,16,18,58,53,5,14,44,9,42,13,75,7,66,51,
	35,31,54
    };
 ::CORBA::UShort          method_index;
 ::CORBA::Short           oper_index;
 OBBArgument            *arginfo;
 ::CORBA::ULong           arg_count;
 OBB::ServerRequest     *obb_request = OBB::ServerRequest::OBB__convert_scope(_nasreq);
 OBB::MinorCode         _m1 = (OBB::MinorCode)OBBMC_INV_MTHDNOTFND;
 OBB::MinorCode         _m2 = (OBB::MinorCode)OBBMC_INV_ARGMISMCHNUM;
 const char             *op = obb_request->operation();
 ::CORBA::Context_ptr     reqctx;

 /*..............................................................*/

 oper_index = OBB::OBB__method_hash(op, 78, _HT, (const char *) &_BT.Bucket0);
 if (oper_index < 0)
    { obb_request->OBB__set_exception_from_minor(_m1); return; }
 method_index = _OM[oper_index];
 arginfo = getparams(method_index, obb_request, arg_count);
 obb_request->OBB__arguments();

 reqctx = obb_request->OBB__ctx();

 switch ( method_index )
    {
    case 0 : /* saveBasicAttrTree */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = saveBasicAttrTree (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 1 : /* queryBasicAttrTree */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryBasicAttrTree (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 2 : /* saveTempSpec */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = saveTempSpec (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 3 : /* queryTempSpec */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryTempSpec (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 4 : /* saveApplicationCatalog */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = saveApplicationCatalog (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 5 : /* queryApplicationCatalog */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryApplicationCatalog (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 6 : /* saveApplicationInfo */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = saveApplicationInfo (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 7 : /* queryApplicationInfo */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryApplicationInfo (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 8 : /* createTask */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = createTask (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 9 : /* queryTask */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryTask (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 10 : /* createProcOrd */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = createProcOrd (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 11 : /* queryProcOrd */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryProcOrd (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 12 : /* operatePPMOrder */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = operatePPMOrder (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 13 : /* queryPPMOrderOperation */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryPPMOrderOperation (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 14 : /* queryFlowInfo */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryFlowInfo (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 15 : /* createApplicationCode */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = createApplicationCode (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 16 : /* operateDir */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = operateDir (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 17 : /* operateCfgRelation */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = operateCfgRelation (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 18 : /* queryCfgRelation */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryCfgRelation (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 19 : /* querySysCfgTree */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = querySysCfgTree (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 20 : /* operateCatalogPermission */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = operateCatalogPermission (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 21 : /* queryCatalogPermission */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryCatalogPermission (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 22 : /* operateStaffPermission */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = operateStaffPermission (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 23 : /* queryStaffPermission */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryStaffPermission (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 24 : /* queryAppVersionList */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryAppVersionList (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 25 : /* queryPpmPriceDescItemSpecTree */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryPpmPriceDescItemSpecTree (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 26 : /* getPpmPriceRemark */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = getPpmPriceRemark (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 27 : /* querySimilitudeAndMutexTree */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = querySimilitudeAndMutexTree (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 28 : /* queryOperatorByCatalogId */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryOperatorByCatalogId (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 29 : /* queryTaskBySimilitudeAndMutex */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryTaskBySimilitudeAndMutex (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 30 : /* operateFlowTimeRecord */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = operateFlowTimeRecord (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 31 : /* queryFlowTimeRecord */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryFlowTimeRecord (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 32 : /* queryLogInfo */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryLogInfo (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 33 : /* operaterLogInfo */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = operaterLogInfo (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 34 : /* modifyTaskLevel */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = modifyTaskLevel (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 35 : /* queryContactAppListByAppCode */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryContactAppListByAppCode (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 36 : /* buildPPMDepartment */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = buildPPMDepartment (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 37 : /* queryPPMDepartment */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryPPMDepartment (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 38 : /* buildPPMGHRole */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = buildPPMGHRole (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 39 : /* queryPPMGHRole */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryPPMGHRole (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 40 : /* queryAppCompareResult */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryAppCompareResult (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 41 : /* queryTaskInfoForOA */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryTaskInfoForOA (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 42 : /* queryAttrSpec */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryAttrSpec (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 43 : /* saveAttrSpec */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = saveAttrSpec (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 44 : /* queryMktResource */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryMktResource (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 45 : /* queryTemplateBasicInfo */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryTemplateBasicInfo (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 46 : /* queryAppAndTestTraining */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryAppAndTestTraining (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 47 : /* userAndIncomeThresholdConfig */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = userAndIncomeThresholdConfig (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 48 : /* filterApplicationInfo */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = filterApplicationInfo (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 49 : /* queryThresholdConfig */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryThresholdConfig (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 50 : /* Statistics */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = Statistics (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 51 : /* querySPInfo */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = querySPInfo (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 52 : /* queryInterfaceInfo */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryInterfaceInfo (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 53 : /* operateInterSendInfo */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = operateInterSendInfo (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 54 : /* queryPricePlan */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryPricePlan (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 55 : /* singleSignOn */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = singleSignOn (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 56 : /* queryTeamInfo */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryTeamInfo (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 57 : /* saveAccessoriesRela */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = saveAccessoriesRela (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 58 : /* queryAccessoriesRela */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryAccessoriesRela (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 59 : /* savePriceTemplate */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = savePriceTemplate (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 60 : /* queryPriceTemplate */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryPriceTemplate (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 61 : /* saveApplicationInfo_FJ */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = saveApplicationInfo_FJ (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 62 : /* getSPInfo */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = getSPInfo (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 63 : /* getSpName */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = getSpName (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 64 : /* ProdConfigCompleteSV */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = ProdConfigCompleteSV (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 65 : /* VAProdSV */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = VAProdSV (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 66 : /* VAProdOfferSV */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = VAProdOfferSV (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 67 : /* GroupProdReleaseSV */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = GroupProdReleaseSV (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 68 : /* GroupProdOfferReleaseSV */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = GroupProdOfferReleaseSV (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 69 : /* pubSendInterFace */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = pubSendInterFace (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 70 : /* queryMasterCode */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryMasterCode (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 71 : /* saveLargeContent */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = saveLargeContent (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 72 : /* queryLargeContent */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = queryLargeContent (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 73 : /* getPriceInfo */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = getPriceInfo (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 74 : /* getPpmKmwsInfo */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = getPpmKmwsInfo (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 75 : /* ProdloadCompleteSVFORJT */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = ProdloadCompleteSVFORJT (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 76 : /* ProdOfferloadCompleteSVFORJT */
        {
        if ( arg_count < 3 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::CORBA::Short *) (arginfo[0].ValuePtr)) = ProdOfferloadCompleteSVFORJT (
            * ((::CORBA::Char * *) (arginfo[1].ValuePtr)),
            * ((::CORBA::Char * *) (arginfo[2].ValuePtr))
        );
        
        break;
        }

    case 77 : /* _is_a */
        {
        if ( arg_count < 2 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        if (strcmp((const char *)POA_Ppm_IPpm_info[0].interface_id, * ((const char **)(arginfo[1].ValuePtr))) == 0)
           * ((::CORBA::Boolean *)(arginfo[0].ValuePtr)) = CORBA_TRUE;
        else
           * ((::CORBA::Boolean *)(arginfo[0].ValuePtr)) = CORBA_FALSE;
        break;

        }

    default :
        obb_request->OBB__set_exception_from_minor(_m1);
        break;
    }

    return;

}


//
//
// Function Name:	POA_Ppm::IPpm::_primary_interface
//
// Functional Description:
//
//	This is the _primary_interface function of the POA skeleton.
//	It returns the most derived interface.
//
//

::CORBA::RepositoryId
POA_Ppm::IPpm::_primary_interface (
        const PortableServer::ObjectId &,
        PortableServer::POA_ptr)
{
    ::CORBA::Char *pi = ::CORBA::string_dup(Ppm::IPpm::_get_interface_name());
    return pi;
}

//
//
// Function Name:	POA_Ppm::IPpm::getparams
//
// Functional Description:
//
//	This is the private getparams function of the POA skeleton.
//	It packages the arguments for the invoke function.
//
//

OBBArgument *
POA_Ppm::IPpm::getparams(::CORBA::Short index, OBB::ServerRequest * SrvReq, ::CORBA::ULong & ArgCnt)
{
    static const ::CORBA::Short ArgOffsetAndLen[156] = {
	0,2,3,2,6,2,9,2,12,2,15,2,18,2,21,2,
	24,2,27,2,30,2,33,2,36,2,39,2,42,2,45,2,
	48,2,51,2,54,2,57,2,60,2,63,2,66,2,69,2,
	72,2,75,2,78,2,81,2,84,2,87,2,90,2,93,2,
	96,2,99,2,102,2,105,2,108,2,111,2,114,2,117,2,
	120,2,123,2,126,2,129,2,132,2,135,2,138,2,141,2,
	144,2,147,2,150,2,153,2,156,2,159,2,162,2,165,2,
	168,2,171,2,174,2,177,2,180,2,183,2,186,2,189,2,
	192,2,195,2,198,2,201,2,204,2,207,2,210,2,213,2,
	216,2,219,2,222,2,225,2,228,2,231,1
    };
    static ::CORBA::Boolean ArgTCTableInit = CORBA_FALSE;
    static ::CORBA::TypeCode_ptr ArgTCTable[233];
    if (ArgTCTableInit == CORBA_FALSE)
    {
    	ArgTCTable[0] = ::CORBA::_tc_short;
    	ArgTCTable[1] = ::CORBA::_tc_string;
    	ArgTCTable[2] = ::CORBA::_tc_string;
    	ArgTCTable[3] = ::CORBA::_tc_short;
    	ArgTCTable[4] = ::CORBA::_tc_string;
    	ArgTCTable[5] = ::CORBA::_tc_string;
    	ArgTCTable[6] = ::CORBA::_tc_short;
    	ArgTCTable[7] = ::CORBA::_tc_string;
    	ArgTCTable[8] = ::CORBA::_tc_string;
    	ArgTCTable[9] = ::CORBA::_tc_short;
    	ArgTCTable[10] = ::CORBA::_tc_string;
    	ArgTCTable[11] = ::CORBA::_tc_string;
    	ArgTCTable[12] = ::CORBA::_tc_short;
    	ArgTCTable[13] = ::CORBA::_tc_string;
    	ArgTCTable[14] = ::CORBA::_tc_string;
    	ArgTCTable[15] = ::CORBA::_tc_short;
    	ArgTCTable[16] = ::CORBA::_tc_string;
    	ArgTCTable[17] = ::CORBA::_tc_string;
    	ArgTCTable[18] = ::CORBA::_tc_short;
    	ArgTCTable[19] = ::CORBA::_tc_string;
    	ArgTCTable[20] = ::CORBA::_tc_string;
    	ArgTCTable[21] = ::CORBA::_tc_short;
    	ArgTCTable[22] = ::CORBA::_tc_string;
    	ArgTCTable[23] = ::CORBA::_tc_string;
    	ArgTCTable[24] = ::CORBA::_tc_short;
    	ArgTCTable[25] = ::CORBA::_tc_string;
    	ArgTCTable[26] = ::CORBA::_tc_string;
    	ArgTCTable[27] = ::CORBA::_tc_short;
    	ArgTCTable[28] = ::CORBA::_tc_string;
    	ArgTCTable[29] = ::CORBA::_tc_string;
    	ArgTCTable[30] = ::CORBA::_tc_short;
    	ArgTCTable[31] = ::CORBA::_tc_string;
    	ArgTCTable[32] = ::CORBA::_tc_string;
    	ArgTCTable[33] = ::CORBA::_tc_short;
    	ArgTCTable[34] = ::CORBA::_tc_string;
    	ArgTCTable[35] = ::CORBA::_tc_string;
    	ArgTCTable[36] = ::CORBA::_tc_short;
    	ArgTCTable[37] = ::CORBA::_tc_string;
    	ArgTCTable[38] = ::CORBA::_tc_string;
    	ArgTCTable[39] = ::CORBA::_tc_short;
    	ArgTCTable[40] = ::CORBA::_tc_string;
    	ArgTCTable[41] = ::CORBA::_tc_string;
    	ArgTCTable[42] = ::CORBA::_tc_short;
    	ArgTCTable[43] = ::CORBA::_tc_string;
    	ArgTCTable[44] = ::CORBA::_tc_string;
    	ArgTCTable[45] = ::CORBA::_tc_short;
    	ArgTCTable[46] = ::CORBA::_tc_string;
    	ArgTCTable[47] = ::CORBA::_tc_string;
    	ArgTCTable[48] = ::CORBA::_tc_short;
    	ArgTCTable[49] = ::CORBA::_tc_string;
    	ArgTCTable[50] = ::CORBA::_tc_string;
    	ArgTCTable[51] = ::CORBA::_tc_short;
    	ArgTCTable[52] = ::CORBA::_tc_string;
    	ArgTCTable[53] = ::CORBA::_tc_string;
    	ArgTCTable[54] = ::CORBA::_tc_short;
    	ArgTCTable[55] = ::CORBA::_tc_string;
    	ArgTCTable[56] = ::CORBA::_tc_string;
    	ArgTCTable[57] = ::CORBA::_tc_short;
    	ArgTCTable[58] = ::CORBA::_tc_string;
    	ArgTCTable[59] = ::CORBA::_tc_string;
    	ArgTCTable[60] = ::CORBA::_tc_short;
    	ArgTCTable[61] = ::CORBA::_tc_string;
    	ArgTCTable[62] = ::CORBA::_tc_string;
    	ArgTCTable[63] = ::CORBA::_tc_short;
    	ArgTCTable[64] = ::CORBA::_tc_string;
    	ArgTCTable[65] = ::CORBA::_tc_string;
    	ArgTCTable[66] = ::CORBA::_tc_short;
    	ArgTCTable[67] = ::CORBA::_tc_string;
    	ArgTCTable[68] = ::CORBA::_tc_string;
    	ArgTCTable[69] = ::CORBA::_tc_short;
    	ArgTCTable[70] = ::CORBA::_tc_string;
    	ArgTCTable[71] = ::CORBA::_tc_string;
    	ArgTCTable[72] = ::CORBA::_tc_short;
    	ArgTCTable[73] = ::CORBA::_tc_string;
    	ArgTCTable[74] = ::CORBA::_tc_string;
    	ArgTCTable[75] = ::CORBA::_tc_short;
    	ArgTCTable[76] = ::CORBA::_tc_string;
    	ArgTCTable[77] = ::CORBA::_tc_string;
    	ArgTCTable[78] = ::CORBA::_tc_short;
    	ArgTCTable[79] = ::CORBA::_tc_string;
    	ArgTCTable[80] = ::CORBA::_tc_string;
    	ArgTCTable[81] = ::CORBA::_tc_short;
    	ArgTCTable[82] = ::CORBA::_tc_string;
    	ArgTCTable[83] = ::CORBA::_tc_string;
    	ArgTCTable[84] = ::CORBA::_tc_short;
    	ArgTCTable[85] = ::CORBA::_tc_string;
    	ArgTCTable[86] = ::CORBA::_tc_string;
    	ArgTCTable[87] = ::CORBA::_tc_short;
    	ArgTCTable[88] = ::CORBA::_tc_string;
    	ArgTCTable[89] = ::CORBA::_tc_string;
    	ArgTCTable[90] = ::CORBA::_tc_short;
    	ArgTCTable[91] = ::CORBA::_tc_string;
    	ArgTCTable[92] = ::CORBA::_tc_string;
    	ArgTCTable[93] = ::CORBA::_tc_short;
    	ArgTCTable[94] = ::CORBA::_tc_string;
    	ArgTCTable[95] = ::CORBA::_tc_string;
    	ArgTCTable[96] = ::CORBA::_tc_short;
    	ArgTCTable[97] = ::CORBA::_tc_string;
    	ArgTCTable[98] = ::CORBA::_tc_string;
    	ArgTCTable[99] = ::CORBA::_tc_short;
    	ArgTCTable[100] = ::CORBA::_tc_string;
    	ArgTCTable[101] = ::CORBA::_tc_string;
    	ArgTCTable[102] = ::CORBA::_tc_short;
    	ArgTCTable[103] = ::CORBA::_tc_string;
    	ArgTCTable[104] = ::CORBA::_tc_string;
    	ArgTCTable[105] = ::CORBA::_tc_short;
    	ArgTCTable[106] = ::CORBA::_tc_string;
    	ArgTCTable[107] = ::CORBA::_tc_string;
    	ArgTCTable[108] = ::CORBA::_tc_short;
    	ArgTCTable[109] = ::CORBA::_tc_string;
    	ArgTCTable[110] = ::CORBA::_tc_string;
    	ArgTCTable[111] = ::CORBA::_tc_short;
    	ArgTCTable[112] = ::CORBA::_tc_string;
    	ArgTCTable[113] = ::CORBA::_tc_string;
    	ArgTCTable[114] = ::CORBA::_tc_short;
    	ArgTCTable[115] = ::CORBA::_tc_string;
    	ArgTCTable[116] = ::CORBA::_tc_string;
    	ArgTCTable[117] = ::CORBA::_tc_short;
    	ArgTCTable[118] = ::CORBA::_tc_string;
    	ArgTCTable[119] = ::CORBA::_tc_string;
    	ArgTCTable[120] = ::CORBA::_tc_short;
    	ArgTCTable[121] = ::CORBA::_tc_string;
    	ArgTCTable[122] = ::CORBA::_tc_string;
    	ArgTCTable[123] = ::CORBA::_tc_short;
    	ArgTCTable[124] = ::CORBA::_tc_string;
    	ArgTCTable[125] = ::CORBA::_tc_string;
    	ArgTCTable[126] = ::CORBA::_tc_short;
    	ArgTCTable[127] = ::CORBA::_tc_string;
    	ArgTCTable[128] = ::CORBA::_tc_string;
    	ArgTCTable[129] = ::CORBA::_tc_short;
    	ArgTCTable[130] = ::CORBA::_tc_string;
    	ArgTCTable[131] = ::CORBA::_tc_string;
    	ArgTCTable[132] = ::CORBA::_tc_short;
    	ArgTCTable[133] = ::CORBA::_tc_string;
    	ArgTCTable[134] = ::CORBA::_tc_string;
    	ArgTCTable[135] = ::CORBA::_tc_short;
    	ArgTCTable[136] = ::CORBA::_tc_string;
    	ArgTCTable[137] = ::CORBA::_tc_string;
    	ArgTCTable[138] = ::CORBA::_tc_short;
    	ArgTCTable[139] = ::CORBA::_tc_string;
    	ArgTCTable[140] = ::CORBA::_tc_string;
    	ArgTCTable[141] = ::CORBA::_tc_short;
    	ArgTCTable[142] = ::CORBA::_tc_string;
    	ArgTCTable[143] = ::CORBA::_tc_string;
    	ArgTCTable[144] = ::CORBA::_tc_short;
    	ArgTCTable[145] = ::CORBA::_tc_string;
    	ArgTCTable[146] = ::CORBA::_tc_string;
    	ArgTCTable[147] = ::CORBA::_tc_short;
    	ArgTCTable[148] = ::CORBA::_tc_string;
    	ArgTCTable[149] = ::CORBA::_tc_string;
    	ArgTCTable[150] = ::CORBA::_tc_short;
    	ArgTCTable[151] = ::CORBA::_tc_string;
    	ArgTCTable[152] = ::CORBA::_tc_string;
    	ArgTCTable[153] = ::CORBA::_tc_short;
    	ArgTCTable[154] = ::CORBA::_tc_string;
    	ArgTCTable[155] = ::CORBA::_tc_string;
    	ArgTCTable[156] = ::CORBA::_tc_short;
    	ArgTCTable[157] = ::CORBA::_tc_string;
    	ArgTCTable[158] = ::CORBA::_tc_string;
    	ArgTCTable[159] = ::CORBA::_tc_short;
    	ArgTCTable[160] = ::CORBA::_tc_string;
    	ArgTCTable[161] = ::CORBA::_tc_string;
    	ArgTCTable[162] = ::CORBA::_tc_short;
    	ArgTCTable[163] = ::CORBA::_tc_string;
    	ArgTCTable[164] = ::CORBA::_tc_string;
    	ArgTCTable[165] = ::CORBA::_tc_short;
    	ArgTCTable[166] = ::CORBA::_tc_string;
    	ArgTCTable[167] = ::CORBA::_tc_string;
    	ArgTCTable[168] = ::CORBA::_tc_short;
    	ArgTCTable[169] = ::CORBA::_tc_string;
    	ArgTCTable[170] = ::CORBA::_tc_string;
    	ArgTCTable[171] = ::CORBA::_tc_short;
    	ArgTCTable[172] = ::CORBA::_tc_string;
    	ArgTCTable[173] = ::CORBA::_tc_string;
    	ArgTCTable[174] = ::CORBA::_tc_short;
    	ArgTCTable[175] = ::CORBA::_tc_string;
    	ArgTCTable[176] = ::CORBA::_tc_string;
    	ArgTCTable[177] = ::CORBA::_tc_short;
    	ArgTCTable[178] = ::CORBA::_tc_string;
    	ArgTCTable[179] = ::CORBA::_tc_string;
    	ArgTCTable[180] = ::CORBA::_tc_short;
    	ArgTCTable[181] = ::CORBA::_tc_string;
    	ArgTCTable[182] = ::CORBA::_tc_string;
    	ArgTCTable[183] = ::CORBA::_tc_short;
    	ArgTCTable[184] = ::CORBA::_tc_string;
    	ArgTCTable[185] = ::CORBA::_tc_string;
    	ArgTCTable[186] = ::CORBA::_tc_short;
    	ArgTCTable[187] = ::CORBA::_tc_string;
    	ArgTCTable[188] = ::CORBA::_tc_string;
    	ArgTCTable[189] = ::CORBA::_tc_short;
    	ArgTCTable[190] = ::CORBA::_tc_string;
    	ArgTCTable[191] = ::CORBA::_tc_string;
    	ArgTCTable[192] = ::CORBA::_tc_short;
    	ArgTCTable[193] = ::CORBA::_tc_string;
    	ArgTCTable[194] = ::CORBA::_tc_string;
    	ArgTCTable[195] = ::CORBA::_tc_short;
    	ArgTCTable[196] = ::CORBA::_tc_string;
    	ArgTCTable[197] = ::CORBA::_tc_string;
    	ArgTCTable[198] = ::CORBA::_tc_short;
    	ArgTCTable[199] = ::CORBA::_tc_string;
    	ArgTCTable[200] = ::CORBA::_tc_string;
    	ArgTCTable[201] = ::CORBA::_tc_short;
    	ArgTCTable[202] = ::CORBA::_tc_string;
    	ArgTCTable[203] = ::CORBA::_tc_string;
    	ArgTCTable[204] = ::CORBA::_tc_short;
    	ArgTCTable[205] = ::CORBA::_tc_string;
    	ArgTCTable[206] = ::CORBA::_tc_string;
    	ArgTCTable[207] = ::CORBA::_tc_short;
    	ArgTCTable[208] = ::CORBA::_tc_string;
    	ArgTCTable[209] = ::CORBA::_tc_string;
    	ArgTCTable[210] = ::CORBA::_tc_short;
    	ArgTCTable[211] = ::CORBA::_tc_string;
    	ArgTCTable[212] = ::CORBA::_tc_string;
    	ArgTCTable[213] = ::CORBA::_tc_short;
    	ArgTCTable[214] = ::CORBA::_tc_string;
    	ArgTCTable[215] = ::CORBA::_tc_string;
    	ArgTCTable[216] = ::CORBA::_tc_short;
    	ArgTCTable[217] = ::CORBA::_tc_string;
    	ArgTCTable[218] = ::CORBA::_tc_string;
    	ArgTCTable[219] = ::CORBA::_tc_short;
    	ArgTCTable[220] = ::CORBA::_tc_string;
    	ArgTCTable[221] = ::CORBA::_tc_string;
    	ArgTCTable[222] = ::CORBA::_tc_short;
    	ArgTCTable[223] = ::CORBA::_tc_string;
    	ArgTCTable[224] = ::CORBA::_tc_string;
    	ArgTCTable[225] = ::CORBA::_tc_short;
    	ArgTCTable[226] = ::CORBA::_tc_string;
    	ArgTCTable[227] = ::CORBA::_tc_string;
    	ArgTCTable[228] = ::CORBA::_tc_short;
    	ArgTCTable[229] = ::CORBA::_tc_string;
    	ArgTCTable[230] = ::CORBA::_tc_string;
    	ArgTCTable[231] = ::CORBA::_tc_boolean;
    	ArgTCTable[232] = ::CORBA::_tc_string;
    	ArgTCTableInit = CORBA_TRUE;
    }
    static ::CORBA::Flags FlagsTable[233] = {
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1,2,
	66,1
    };
    ::CORBA::Short	i;
    ::CORBA::TypeCode_ptr	*index_ptr;
    ::CORBA::Flags	*flags_ptr;
    ::CORBA::Short	arg_count;
    ::CORBA::Short	arg_offset;
    OBBArgument *arg_info;
    OBBArgument *arg_ptr;

 /*..............................................................*/


    arg_offset = ArgOffsetAndLen[index*2];
    index_ptr = &ArgTCTable[arg_offset];
    arg_count = ArgOffsetAndLen[index*2+1];
    ArgCnt = arg_count + 1;
    flags_ptr = &FlagsTable[arg_offset];

    arg_info = SrvReq->OBB__create_argument_info(arg_count+1);
    arg_ptr = arg_info;
    if ( ! arg_info )
       return 0;

    for (i = 0; i <= arg_count; i++, arg_ptr++, index_ptr++, flags_ptr++)
    {
       arg_ptr->TC = *index_ptr;
       arg_ptr->Flags = *flags_ptr;
    }

    return arg_info;

}
// Server registration data and class function
OBB::OBBInterfaceInfo POA_Ppm_PpmFactory_info[1] = 
{
{(char*)"IDL:Ppm/PpmFactory:1.0", (char*)"IDL:POA_Ppm/PpmFactory_i:1.0", 1, 3}
};
static OBB::OBBInterfaceDescriptor POA_Ppm_PpmFactory_Interfaces (POA_Ppm_PpmFactory_info, 1);


//
//
// Function Name:	Ppm::PpmFactory::_this
//
// Functional Description:
//
//	This is the _this function of the POA skeleton.
//
//

Ppm::PpmFactory_ptr
POA_Ppm::PpmFactory::_this()
{
    ::CORBA::Object_ptr obj_ptr = OBB__this();
    Ppm::PpmFactory_ptr ret_ptr = Ppm::PpmFactory::_narrow(obj_ptr);

    ::CORBA::release(obj_ptr);
    return ret_ptr;
}


//
//
// Function Name:	POA_Ppm::PpmFactory::invoke
//
// Functional Description:
//
//	This is the invoke function of the POA skeleton.
//
//

void
POA_Ppm::PpmFactory::invoke (
        ::CORBA::ServerRequest_ptr _nasreq) 
{
static const struct {
	CORBA::Char    Bucket0 [7];	CORBA::Char    Bucket1 [10];
    } _BT = {
        "_is_a\000",
        "findIPpm\000"
    };
static  OBBHashTableEntry     _HT [2] = {
    {   0,     0 },    {   1,     7 }
    };
static ::CORBA::UShort _OM[2] = {
	1,0
    };
 ::CORBA::UShort          method_index;
 ::CORBA::Short           oper_index;
 OBBArgument            *arginfo;
 ::CORBA::ULong           arg_count;
 OBB::ServerRequest     *obb_request = OBB::ServerRequest::OBB__convert_scope(_nasreq);
 OBB::MinorCode         _m1 = (OBB::MinorCode)OBBMC_INV_MTHDNOTFND;
 OBB::MinorCode         _m2 = (OBB::MinorCode)OBBMC_INV_ARGMISMCHNUM;
 const char             *op = obb_request->operation();
 ::CORBA::Context_ptr     reqctx;

 /*..............................................................*/

 oper_index = OBB::OBB__method_hash(op, 2, _HT, (const char *) &_BT.Bucket0);
 if (oper_index < 0)
    { obb_request->OBB__set_exception_from_minor(_m1); return; }
 method_index = _OM[oper_index];
 arginfo = getparams(method_index, obb_request, arg_count);
 obb_request->OBB__arguments();

 reqctx = obb_request->OBB__ctx();

 switch ( method_index )
    {
    case 0 : /* findIPpm */
        {
        if ( arg_count < 1 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        * ((::Ppm::IPpm_ptr *) (arginfo[0].ValuePtr)) = findIPpm (
        );
        
        break;
        }

    case 1 : /* _is_a */
        {
        if ( arg_count < 2 )
        {
           obb_request->OBB__set_exception_from_minor(_m2);
           return;
        }

        if (strcmp((const char *)POA_Ppm_PpmFactory_info[0].interface_id, * ((const char **)(arginfo[1].ValuePtr))) == 0)
           * ((::CORBA::Boolean *)(arginfo[0].ValuePtr)) = CORBA_TRUE;
        else
           * ((::CORBA::Boolean *)(arginfo[0].ValuePtr)) = CORBA_FALSE;
        break;

        }

    default :
        obb_request->OBB__set_exception_from_minor(_m1);
        break;
    }

    return;

}


//
//
// Function Name:	POA_Ppm::PpmFactory::_primary_interface
//
// Functional Description:
//
//	This is the _primary_interface function of the POA skeleton.
//	It returns the most derived interface.
//
//

::CORBA::RepositoryId
POA_Ppm::PpmFactory::_primary_interface (
        const PortableServer::ObjectId &,
        PortableServer::POA_ptr)
{
    ::CORBA::Char *pi = ::CORBA::string_dup(Ppm::PpmFactory::_get_interface_name());
    return pi;
}

//
//
// Function Name:	POA_Ppm::PpmFactory::getparams
//
// Functional Description:
//
//	This is the private getparams function of the POA skeleton.
//	It packages the arguments for the invoke function.
//
//

OBBArgument *
POA_Ppm::PpmFactory::getparams(::CORBA::Short index, OBB::ServerRequest * SrvReq, ::CORBA::ULong & ArgCnt)
{
    static const ::CORBA::Short ArgOffsetAndLen[4] = {
	0,0,1,1
    };
    static ::CORBA::Boolean ArgTCTableInit = CORBA_FALSE;
    static ::CORBA::TypeCode_ptr ArgTCTable[3];
    if (ArgTCTableInit == CORBA_FALSE)
    {
    	ArgTCTable[0] = ::Ppm::_tc_IPpm;
    	ArgTCTable[1] = ::CORBA::_tc_boolean;
    	ArgTCTable[2] = ::CORBA::_tc_string;
    	ArgTCTableInit = CORBA_TRUE;
    }
    static ::CORBA::Flags FlagsTable[3] = {
	66,
	66,1
    };
    ::CORBA::Short	i;
    ::CORBA::TypeCode_ptr	*index_ptr;
    ::CORBA::Flags	*flags_ptr;
    ::CORBA::Short	arg_count;
    ::CORBA::Short	arg_offset;
    OBBArgument *arg_info;
    OBBArgument *arg_ptr;

 /*..............................................................*/


    arg_offset = ArgOffsetAndLen[index*2];
    index_ptr = &ArgTCTable[arg_offset];
    arg_count = ArgOffsetAndLen[index*2+1];
    ArgCnt = arg_count + 1;
    flags_ptr = &FlagsTable[arg_offset];

    arg_info = SrvReq->OBB__create_argument_info(arg_count+1);
    arg_ptr = arg_info;
    if ( ! arg_info )
       return 0;

    for (i = 0; i <= arg_count; i++, arg_ptr++, index_ptr++, flags_ptr++)
    {
       arg_ptr->TC = *index_ptr;
       arg_ptr->Flags = *flags_ptr;
    }

    return arg_info;

}
